Parity data is used to achieve redundancy when storing or transmitting data. Parity data may be used to check that read or received data is correct or to regenerate any missing data, for example, when a disc drive or communication channel fails. Typically, parity data is generated using the exclusive or (XOR) logical function applied to two or more data sets or subsets.
Such redundancy is used in certain RAID disc arrays such as RAID 5, for example.
Although the parity schemes used in RAID arrays may be sufficient to provide the necessary redundancy in a controlled environment using monitored disc drives within a single cabinet or data centre, the level of redundancy may not be suitable for more distributed or ad-hoc storage mechanisms, which may incorporate storage devices or disc drives remote from each other or separated across a network. Furthermore, many RAID systems are limited being able to respond and recover from single points of failure such as a single disk failing. Multiple simultaneous failures in RAID arrays may not be recoverable.
Therefore, there is required a method and system that overcomes these problems.